using System;
using System.Collections.Generic;
using System.Text;

namespace PandoraCommon
{
    /// <summary>
    /// <para>Interface to be implemented by all the log reader plug-ins for the GPS Pandora software.</para>
    /// <para>Contains the necessary functionality in order to process the output from a specific GPS positions source
    /// (file, database, GPS unit, etc...) and return the associated location data.</para>
    /// </summary>
    public interface ILogReader
    {
        /// <summary>
        /// Name of the log reader plug-in.
        /// </summary>
        string Name { get;}

        /// <summary>
        /// Description for the log reader plug-in.
        /// </summary>
        string Description { get;}

        /// <summary>
        /// Author of this log reader plug-in.
        /// </summary>
        string Author { get;}

        /// <summary>
        /// Reads the necessary GPS position information from its associated positions source (file, database, GPS unit, etc...)
        /// and generates a list of <see cref="T:GpsPosition"> to be processed by the Pandora software.</see>
        /// </summary>
        /// <returns>A list of <see cref="T:GpsPosition"></returns>
        List<GpsPosition> ReadLog();

    }
}
